package com.alameda.filestorage.business.service;

import org.dromara.x.file.storage.core.FileInfo;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;

/**
 * 文件上传 业务逻辑层
 *
 * @author Lv
 * @date 2024/11/23
 */
public interface FileStorageComponent {
    /**
     * 上传文件
     *
     * @param multipartFile 文件对象
     * @return 文件信息
     */
    FileInfo upload(MultipartFile multipartFile);

    /**
     * 上传文件
     *
     * @param multipartFile 文件对象
     * @return 文件路径
     */
    String uploadFile(MultipartFile multipartFile);

    /**
     * 上传图片
     *
     * @param multipartFile 文件对象
     * @return 文件信息
     */
    FileInfo uploadImage(MultipartFile multipartFile);

    /**
     * 上传文件
     *
     * @param request http请求对象
     * @return 文件信息
     */
    FileInfo uploadPlatform(HttpServletRequest request);
}
